package com.kiki.album.mapper;

import java.util.List;
import com.kiki.album.domain.Album;
import org.apache.ibatis.annotations.Select;

/**
 * 专辑信息Mapper接口
 * 
 * @author 林志毅
 * @date 2025-01-08
 */
public interface AlbumMapper 
{
    /**
     * 查询专辑信息
     * 
     * @param albumId 专辑信息主键
     * @return 专辑信息
     */
    public Album selectAlbumByAlbumId(Long albumId);

    /**
     * 查询专辑信息列表
     * 
     * @param album 专辑信息
     * @return 专辑信息集合
     */
    public List<Album> selectAlbumList(Album album);

    /**
     * 新增专辑信息
     * 
     * @param album 专辑信息
     * @return 结果
     */
    public int insertAlbum(Album album);

    /**
     * 修改专辑信息
     * 
     * @param album 专辑信息
     * @return 结果
     */
    public int updateAlbum(Album album);

    /**
     * 删除专辑信息
     * 
     * @param albumId 专辑信息主键
     * @return 结果
     */
    public int deleteAlbumByAlbumId(Long albumId);

    /**
     * 批量删除专辑信息
     * 
     * @param albumIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAlbumByAlbumIds(Long[] albumIds);

    /**
     * 根据专辑名称查询专辑id
     * @param albumName
     * @return
     */
    @Select("select album_id from album where album_name=#{albumName}")
    Long selectAlbumIdByAlbumName(String albumName);
}
